package com.yytek.am.domain;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.yytek.common.core.annotation.Excel;
import com.yytek.common.core.web.domain.BaseEntity;

/**
 * 告警定义对象 fm_def
 * 
 * @author yytek-iot
 * @date 2022-10-10
 */
@ApiModel("告警定义对象")
public class FmDef extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 标识ID */
    @ApiModelProperty("标识ID")
    private Long id;

    /** 项目id */
    @Excel(name = "项目id")
    @ApiModelProperty("项目id")
    private String projectId;

    /** 项目名称 */
    @Excel(name = "项目名称")
    @ApiModelProperty("项目名称")
    private String projectName;

    /** 关键指标名称 */
    @Excel(name = "关键指标名称")
    @ApiModelProperty("关键指标名称")
    private String kpiName;

    /** 告警分组标签(使用产品名基于产品分组) */
    @Excel(name = "告警分组标签(使用产品名基于产品分组)")
    @ApiModelProperty("告警分组标签(使用产品名基于产品分组)")
    private String label;

    /** 告警级别(1-警告 2-次要 3-主要 4-严重) */
    @Excel(name = "告警级别(1-警告 2-次要 3-主要 4-严重)")
    @ApiModelProperty("告警级别(1-警告 2-次要 3-主要 4-严重)")
    private Long level;

    /** 告警标题 */
    @Excel(name = "告警标题")
    @ApiModelProperty("告警标题")
    private String title;

    /** 告警内容 */
    @Excel(name = "告警内容")
    @ApiModelProperty("告警内容")
    private String content;

    /** 查询设备表达式 */
    @Excel(name = "查询设备表达式")
    @ApiModelProperty("查询设备表达式")
    private String searchIndex;

    /** 告警区分索引例如 #label_#deviceName_#port，设备同一个告警可能分不同端口的情况 */
    @Excel(name = "告警区分索引例如 #label_#deviceName_#port，设备同一个告警可能分不同端口的情况")
    @ApiModelProperty("告警区分索引例如 #label_#deviceName_#port，设备同一个告警可能分不同端口的情况")
    private String subIndex;

    /** 告警例子 */
    @Excel(name = "告警例子")
    @ApiModelProperty("告警例子")
    private String example;

    /** 最后一次修改人员 */
    @Excel(name = "最后一次修改人员")
    @ApiModelProperty("最后一次修改人员")
    private String operator;

    /** 启用状态(0-启用 1-禁用) */
    @Excel(name = "启用状态(0-启用 1-禁用)")
    @ApiModelProperty("启用状态(0-启用 1-禁用)")
    private Integer status;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setProjectId(String projectId) 
    {
        this.projectId = projectId;
    }

    public String getProjectId() 
    {
        return projectId;
    }
    public void setProjectName(String projectName) 
    {
        this.projectName = projectName;
    }

    public String getProjectName() 
    {
        return projectName;
    }
    public void setKpiName(String kpiName) 
    {
        this.kpiName = kpiName;
    }

    public String getKpiName() 
    {
        return kpiName;
    }
    public void setLabel(String label) 
    {
        this.label = label;
    }

    public String getLabel() 
    {
        return label;
    }
    public void setLevel(Long level) 
    {
        this.level = level;
    }

    public Long getLevel() 
    {
        return level;
    }
    public void setTitle(String title) 
    {
        this.title = title;
    }

    public String getTitle() 
    {
        return title;
    }
    public void setContent(String content) 
    {
        this.content = content;
    }

    public String getContent() 
    {
        return content;
    }
    public void setSearchIndex(String searchIndex) 
    {
        this.searchIndex = searchIndex;
    }

    public String getSearchIndex() 
    {
        return searchIndex;
    }
    public void setSubIndex(String subIndex) 
    {
        this.subIndex = subIndex;
    }

    public String getSubIndex() 
    {
        return subIndex;
    }
    public void setExample(String example) 
    {
        this.example = example;
    }

    public String getExample() 
    {
        return example;
    }
    public void setOperator(String operator) 
    {
        this.operator = operator;
    }

    public String getOperator() 
    {
        return operator;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("projectId", getProjectId())
            .append("projectName", getProjectName())
            .append("kpiName", getKpiName())
            .append("label", getLabel())
            .append("level", getLevel())
            .append("title", getTitle())
            .append("content", getContent())
            .append("searchIndex", getSearchIndex())
            .append("subIndex", getSubIndex())
            .append("example", getExample())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("operator", getOperator())
            .append("status", getStatus())
            .toString();
    }
}
